Microservices Architecture Explained